﻿//
// (C) Copyright 2009 Irantha Suwandarathna (iranthas@hotmail.com)
// All rights reserved.
//

/********************************************************
 * ADO.NET 2.0 Data Provider for SQLite Version 3.X
 * Written by Robert Simpson (robert@blackcastlesoft.com)
 * 
 ********************************************************/


using System;
using System.Data.Common;

namespace System.Data.EffiProz
{
   
#if !PLATFORM_COMPACTFRAMEWORK
    /// <summary>
    /// EffiProz implementation of DbProviderFactory.
    /// </summary>
    public sealed partial class EfzFactory : DbProviderFactory
    {
        /// <summary>
        /// Static instance member which returns an instanced EffiProzDBFactory class.
        /// </summary>
        public static readonly EfzFactory Instance = new EfzFactory();

        /// <summary>
        /// Returns a new EffiProzCommand object.
        /// </summary>
        /// <returns>A EffiProzCommand object.</returns>
        public override DbCommand CreateCommand()
        {
            return new EfzCommand();
        }

        /// <summary>
        /// Returns a new EffiProzCommandBuilder object.
        /// </summary>
        /// <returns>A EffiProzCommandBuilder object.</returns>
        public override DbCommandBuilder CreateCommandBuilder()
        {
            return new EfzCommandBuilder();
        }

        /// <summary>
        /// Creates a new EffiProzConnection.
        /// </summary>
        /// <returns>A EffiProzConnection object.</returns>
        public override DbConnection CreateConnection()
        {
            return new EfzConnection();
        }

        /// <summary>
        /// Creates a new EffiProzConnectionStringBuilder.
        /// </summary>
        /// <returns>A EffiProzConnectionStringBuilder object.</returns>
        public override DbConnectionStringBuilder CreateConnectionStringBuilder()
        {
            return new EfzConnectionStringBuilder();
        }

        /// <summary>
        /// Creates a new EffiProzDataAdapter.
        /// </summary>
        /// <returns>A EffiProzDataAdapter object.</returns>
        public override DbDataAdapter CreateDataAdapter()
        {
            return new EfzDataAdapter();
        }

        /// <summary>
        /// Creates a new EffiProzDBParameter.
        /// </summary>
        /// <returns>A EffiProzDBParameter object.</returns>
        public override DbParameter CreateParameter()
        {
            return new EfzParameter();
        }
    }
#endif
}
